// API配置文件

// 开发环境和生产环境API地址
const API_CONFIG = {
  development: 'http://127.0.0.1:8000/uniapp', // 开发环境
  production: 'http://127.0.0.1:8000/uniapp',     // 生产环境
  test: 'http://127.0.0.1:8000/uniapp'       // 测试环境
}

// 获取当前环境的API地址
export const getBaseURL = () => {
  // #ifdef H5
  // H5环境根据域名判断
  if (window.location.hostname === 'localhost' || window.location.hostname === '127.0.0.1') {
    return API_CONFIG.development
  }
  return API_CONFIG.production
  // #endif
  
  // 其他环境使用环境变量或默认开发环境
  return process.env.NODE_ENV === 'production' ? API_CONFIG.production : API_CONFIG.development
}

// API接口地址
export const API_ENDPOINTS = {
  // 认证相关
  AUTH: {
    PHONE_LOGIN: '/user/phone-login',           // 手机号登录
    WECHAT_LOGIN: '/auth/wechat/login',         // 微信登录
    LOGOUT: '/auth/logout',                     // 退出登录
    REFRESH_TOKEN: '/auth/refresh',             // 刷新token
  },
  
  // 短信验证码
  SMS: {
    SEND_CODE: '/sms/send',                     // 发送验证码
    VERIFY_CODE: '/sms/verify',                 // 验证验证码
  },
  
  // 用户相关
  USER: {
    INFO: '/user/info',                         // 获取用户信息
    UPDATE: '/user/update',                     // 更新用户信息
    AVATAR: '/user/avatar',                     // 上传头像
  },
  
  // 商品相关
  GOODS: {
    LIST: '/goods/list',                        // 商品列表
    DETAIL: '/goods/detail',                    // 商品详情
    SEARCH: '/goods/search',                    // 商品搜索
    CATEGORY: '/goods/category',                // 商品分类
  },
  
  // 订单相关
  ORDER: {
    CREATE: '/order/create',                    // 创建订单
    LIST: '/order/list',                        // 订单列表
    DETAIL: '/order/detail',                    // 订单详情
    CANCEL: '/order/cancel',                    // 取消订单
    PAY: '/order/pay',                          // 订单支付
  },
  
  // 购物车
  CART: {
    LIST: '/cart/list',                         // 购物车列表
    ADD: '/cart/add',                           // 添加到购物车
    UPDATE: '/cart/update',                     // 更新购物车
    REMOVE: '/cart/remove',                     // 移除购物车商品
  },
  
  // 收藏
  FAVORITE: {
    LIST: '/favorite/list',                     // 收藏列表
    ADD: '/favorite/add',                       // 添加收藏
    REMOVE: '/favorite/remove',                 // 取消收藏
  },
  
  // 地址管理
  ADDRESS: {
    LIST: '/address/list',                      // 地址列表
    ADD: '/address/add',                        // 添加地址
    UPDATE: '/address/update',                  // 更新地址
    DELETE: '/address/delete',                  // 删除地址
    SET_DEFAULT: '/address/set-default',        // 设置默认地址
  },
  
  // 优惠券
  COUPON: {
    LIST: '/coupon/list',                       // 优惠券列表
    MY_COUPONS: '/coupon/my',                   // 我的优惠券
    RECEIVE: '/coupon/receive',                 // 领取优惠券
    USE: '/coupon/use',                         // 使用优惠券
  },
  
  // 支付相关
  PAYMENT: {
    WECHAT_PAY: '/payment/wechat',              // 微信支付
    ALIPAY: '/payment/alipay',                  // 支付宝支付
    QUERY: '/payment/query',                    // 支付查询
  },
  
  // 文件上传
  UPLOAD: {
    IMAGE: '/upload/image',                     // 图片上传
    FILE: '/upload/file',                       // 文件上传
  },
  
  // 其他
  COMMON: {
    BANNER: '/common/banner',                   // 轮播图
    CONFIG: '/common/config',                   // 系统配置
    FEEDBACK: '/common/feedback',               // 意见反馈
  }
}

// 完整的API地址
export const getApiUrl = (endpoint) => {
  return `${getBaseURL()}${endpoint}`
}

// 请求超时时间
export const REQUEST_TIMEOUT = 10000

// 请求重试次数
export const REQUEST_RETRY_COUNT = 3

// 请求头配置
export const REQUEST_HEADERS = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
}

export default API_CONFIG 